package com.example.work;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
// DBService类继承自SQLiteOpenHelper，用于帮助创建、管理和版本控制SQLite数据库
public class DBService extends SQLiteOpenHelper {
    public static final String TABLE = "notes";
    public static final String ID = "_id";
    public static final String TITLE = "title";
    public static final String CONTENT = "content";
    public static final String TIME = "time";

    // 构造函数，接收一个Context对象，传递给SQLiteOpenHelper的基类
    public DBService(Context context) {
        super(context, "notepad.db", null, 1);
    }
    // onCreate方法在数据库首次创建时由系统调用，用于创建数据库表
    @Override
    public void onCreate(SQLiteDatabase db) {
        // 定义创建表的SQL语句，包括字段名和类型，以及主键和非空约束
        String sql = "CREATE TABLE " + TABLE + "(" +
                ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                TITLE + " VARCHAR(30), " +
                CONTENT + " TEXT, " +
                TIME + " DATETIME NOT NULL )";
        // 执行SQL语句创建表
        db.execSQL(sql);
    }


    // onUpgrade方法在数据库版本升级时由系统调用，用于处理数据库结构变更
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }

    // findById方法用于根据ID查询特定的笔记记录
    public Cursor findById(Context context, Long id) {
        // 创建DBService实例并获取可读数据库对象
        SQLiteDatabase db = new DBService(context).getReadableDatabase();
        // 使用rawQuery执行查询，传入查询条件和参数
        // 这里查询的是_id字段等于传入id参数的记录
        return db.rawQuery("select * from " + DBService.TABLE + " where _id =?", new String[]{id + ""});
    }
}
